import routerObj from './config/routesImport'
import Vue from 'vue'
import Router from 'vue-router'
import { routerList } from './routerList'
// 解决路由重复的报错的bug，要跳转的路由和当前路由一样时复现
const originRouter = Router.prototype.push
Router.prototype.push = function push (location) {
  return originRouter.call(this, location).catch((err) => err)
}

Vue.use(Router)

const router = new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    // 登录页面
    {
      path: '/login',
      name: 'login',
      component: routerObj.Login
    },
    // 菜单列表页面展示
    // {
    //   path: '/',
    //   name: 'main',
    //   // 特别注意layout公共组件不能使用前端工程化导入
    //   component: () => import('../views/LayOut/index.vue')
    // },
    // 在动态添加路由的过程中，如果有 404 页面，一定要放在最后添加，否则在登陆的时候添加完页面会重定向到 404 页面。
    // 类似于这样，这种规则一定要最后添加。
    {
      path: '*',
      component: () => import('../views/LayOut/index.vue'),
      // 当指定的页面组件找不到时重定向到404页面
      redirect: '/404',
      children: routerList
    }
  ]
})

export default router
